AQL (ArangoDB Query Language) ArangoDB-এর নিজস্ব কোয়েরি ভাষা, যা ডেটাবেস থেকে ডেটা রিট্রিভ, ইনসার্ট, আপডেট এবং ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। এটি SQL-এর মতো সহজ এবং ডেভেলপার-বান্ধব।
AQL এর মূল গঠন
AQL কোয়েরি গঠনের প্রধান উপাদান:
- FOR: ডেটা সংগ্রহের জন্য লুপ চালায়।
- FILTER: ডেটা ফিল্টার করার জন্য ব্যবহৃত হয়।
- RETURN: চূড়ান্ত রেজাল্ট প্রদান করে।
উদাহরণ:
FOR doc IN collection_name
FILTER doc.attribute == "value"
RETURN doc
বেসিক কোয়েরি উদাহরণ
1. ডেটা রিট্রিভ করা
Collection থেকে সমস্ত ডেটা রিট্রিভ করার জন্য:
FOR doc IN collection_name
RETURN doc
2. নির্দিষ্ট ডেটা ফিল্টার করা
FOR doc IN collection_name
FILTER doc.age > 25
RETURN doc
3. নির্দিষ্ট ফিল্ড রিটার্ন করা
FOR doc IN collection_name
RETURN doc.name
Document Filtering
সত্য/মিথ্যা কন্ডিশন চেক
FOR doc IN collection_name
FILTER doc.active == true
RETURN doc
মাল্টিপল কন্ডিশন
FOR doc IN collection_name
FILTER doc.age > 18 AND doc.country == "Bangladesh"
RETURN doc
রেঞ্জ কন্ডিশন
FOR doc IN collection_name
FILTER doc.salary >= 20000 AND doc.salary <= 50000
RETURN doc
Sorting এবং Pagination
ডেটা Sort করা
FOR doc IN collection_name
SORT doc.name ASC
RETURN doc
Pagination ব্যবহার
FOR doc IN collection_name
LIMIT 10, 20
RETURN doc
এখানে 10 হল Offset এবং 20 হল Limit।
Aggregation Queries
গণনা (COUNT)
FOR doc IN collection_name
FILTER doc.status == "active"
COLLECT WITH COUNT INTO total
RETURN total
গোষ্ঠীভুক্ত করা (GROUP BY)
FOR doc IN collection_name
COLLECT country = doc.country WITH COUNT INTO total
RETURN { country, total }
নতুন ডেটা ইনসার্ট করা
INSERT { name: "John Doe", age: 30, active: true } INTO collection_name
ডেটা আপডেট করা
FOR doc IN collection_name
FILTER doc.name == "John Doe"
UPDATE doc WITH { age: 35 } IN collection_name
ডেটা মুছে ফেলা
FOR doc IN collection_name
FILTER doc.age < 18
REMOVE doc IN collection_name
সারাংশ
AQL একটি শক্তিশালী এবং বহুমুখী কোয়েরি ভাষা যা সহজবোধ্য গঠন এবং SQL-এর মতো কার্যক্ষমতা সরবরাহ করে। এর FOR, FILTER, এবং RETURN স্টেটমেন্টের মাধ্যমে ডেটা পরিচালনা সহজতর এবং উন্নত হয়।
Content added By